//
// Created by wxd on 2025/9/2.
// 渲染引擎全局材质管理器
//

#pragma once

#ifndef MATERIALMANAGER_H
#define MATERIALMANAGER_H

/*#include "../glFramework/material/Material.h"
#include <unordered_map>
#include <mutex>
#include <memory>
#include <string>*/

/*class MaterialManager {
public:
    MaterialManager(const MaterialManager&) = delete;
    MaterialManager& operator=(const MaterialManager&) = delete;

    static MaterialManager& getInstance() {
        static MaterialManager instance;
        return instance;
    }

    std::string addMaterial(Material& material);
    Material* getMaterial(const std::string& materialId);
    bool removeMaterial(const std::string& materialId);
    bool contain(const std::string& materialId);
    void clear();

private:
    MaterialManager() = default;
    ~MaterialManager() = default;

    std::mutex m_lock {};
    std::unordered_map<std::string, std::shared_ptr<Material>> m_MaterialMap {};
};*/

#endif //MATERIALMANAGER_H